package com.swak.algs;

/**
 * 数组中有 奇数的数 2个，其他数都是偶数个.
 * 
 * @author lifeng
 */
public class Code19 {

	public static void main(String[] args) {

		/*
		 * 有两个奇数个数的数: 超过两个不能这样处理
		 */
		int[] ans = { 1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };

		/*
		 * eor = 1 ^ 2;
		 */
		int eor = 0;
		for (int i = 0; i < ans.length; i++) {
			eor ^= ans[i];
		}

		/*
		 * right = 最后一位为1的一个数，则说明，此为为1 的数比为奇数
		 */
		int right = eor & (~eor + 1);
		int eor2 = 0;
		for (int i = 0; i < ans.length; i++) {

			/*
			 * 找出此位为1 的数
			 */
			if ((ans[i] & right) != 0) {
				eor2 ^= ans[i];
			}
		}

		System.out.println(eor2);
		System.out.println(eor ^ eor2);
	}
}